{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 用散点图进行数据分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. 初始设置\n",
    "\n",
    "首先，导入所需的库，并设置中文字体和定义颜色等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入所需的库\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.preprocessing import PolynomialFeatures\n",
    "from sklearn.pipeline import Pipeline\n",
    "\n",
    "# 正常显示中文标签\n",
    "mpl.rcParams['font.sans-serif'] = ['SimHei']\n",
    "\n",
    "# 自动适应布局\n",
    "mpl.rcParams.update({'figure.autolayout': True})\n",
    "\n",
    "# 正常显示负号\n",
    "mpl.rcParams['axes.unicode_minus'] = False\n",
    "\n",
    "# 禁用科学计数法\n",
    "pd.set_option('display.float_format', lambda x: '%.2f' % x) \n",
    "\n",
    "# 定义颜色，主色：蓝色，辅助色：灰色，互补色：橙色\n",
    "c = {'蓝色':'#00589F', '深蓝色':'#003867', '浅蓝色':'#5D9BCF',\n",
    "     '灰色':'#999999', '深灰色':'#666666', '浅灰色':'#CCCCCC',\n",
    "     '橙色':'#F68F00', '深橙色':'#A05D00', '浅橙色':'#FBC171'}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. 定义数据\n",
    "\n",
    "从 Excel 文件中读取数据，并定义画图用的数据。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 数据源路径\n",
    "filepath='./data/客户年龄和消费金额.xlsx'\n",
    "\n",
    "# 读取 Excel文件\n",
    "df = pd.read_excel(filepath, index_col='客户编号')\n",
    "\n",
    "# 定义画图用的数据：年龄和人均消费金额\n",
    "df_group = df.groupby('年龄').mean()\n",
    "x = np.array(df_group.index).reshape(-1, 1)\n",
    "y = np.array(df_group.values)\n",
    "\n",
    "# 用管道的方式调用算法，以便把线性回归扩展为多项式回归\n",
    "poly_reg = Pipeline([\n",
    "    ('ploy', PolynomialFeatures(degree=1)),\n",
    "    ('lin_reg', LinearRegression())\n",
    "])\n",
    "\n",
    "# 拟合\n",
    "poly_reg.fit(x, y)\n",
    "\n",
    "# 斜率\n",
    "coef = poly_reg.steps[1][1].coef_\n",
    "# 截距\n",
    "intercept = poly_reg.steps[1][1].intercept_\n",
    "# 评分\n",
    "score = poly_reg.score(x, y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. 开始画图\n",
    "\n",
    "用「**面向对象**」的方法画图。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 使用「面向对象」的方法画图，定义图片的大小\n",
    "fig, ax = plt.subplots(figsize=(8, 6))\n",
    "\n",
    "# 设置标题\n",
    "ax.set_title('\\n客户每年长一岁，人均消费金额增加' + '%.2f' % coef[0][1] + '元\\n', loc='left', size=26, color=c['深灰色'])\n",
    "\n",
    "# 画气泡图\n",
    "ax.scatter(x, y, color=c['蓝色'], marker='.', s=100, zorder=1)\n",
    "\n",
    "# # 绘制预测线\n",
    "y2 = poly_reg.predict(x)\n",
    "ax.plot(x, y2, '-', c=c['橙色'], zorder=2)\n",
    "\n",
    "# 隐藏边框\n",
    "ax.spines['top'].set_visible(False)\n",
    "ax.spines['right'].set_visible(False)\n",
    "ax.spines['bottom'].set_visible(False)\n",
    "ax.spines['left'].set_visible(False)\n",
    "\n",
    "# 隐藏刻度线\n",
    "ax.tick_params(axis='x', which='major', length=0)\n",
    "ax.tick_params(axis='y', which='major', length=0)\n",
    "\n",
    "ax.set_ylim(15, 65)\n",
    "ax.set_ylim(1000, 5000)\n",
    "\n",
    "# 设置坐标标签字体大小和颜色\n",
    "ax.tick_params(labelsize=16, colors=c['深灰色'])\n",
    "ax.text(ax.get_xlim()[0]-6, ax.get_ylim()[1], '人\\n均\\n消\\n费\\n金\\n额', va='top', fontsize=16, color=c['深灰色'])\n",
    "\n",
    "# 设置坐标轴的标题\n",
    "ax.text(ax.get_xlim()[0]+1, ax.get_ylim()[0]-300, '年龄', ha='left', va='top', fontsize=16, color=c['深灰色'])\n",
    "\n",
    "# 预测 55 岁的人均消费金额\n",
    "predict = poly_reg.predict([[55]])\n",
    "\n",
    "# 标注公式\n",
    "formula = r'$\\mathcal{Y} = ' + '%.2f' % coef[0][1] + '\\mathcal{X}' + '%+.2f$' % intercept[0] + '\\n' + r'$\\mathcal{R}^2 = ' + '%.5f$' % score\n",
    "ax.annotate(formula, xy=(55, predict), xytext=(55, predict+500), ha='center', fontsize=12, color=c['深灰色'], arrowprops=dict(arrowstyle='->', color=c['橙色']))\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " "
   ]
  }
 ],
 "metadata": {
  "file_extension": ".py",
  "kernelspec": {
   "display_name": "Python 3.7.0 64-bit",
   "language": "python",
   "name": "python37064bit2965220bd7d04cdebdae4cbe7c63b822"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  },
  "mimetype": "text/x-python",
  "name": "python",
  "npconvert_exporter": "python",
  "pygments_lexer": "ipython3",
  "version": 3
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
